package com.shensi.adminCollect.mapper.station;

import com.shensi.adminCollect.domain.station.Station;
import com.shensi.adminCollect.domain.station.dto.AddStationSettleInfoDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 油站信息Mapper接口
 * 
 * @author qujia
 * @date 2021-10-24
 */
@Repository
public interface StationMapper
{
    /**
     * 查询油站信息
     * 
     * @param stationId 油站信息ID
     * @return 油企信息
     */
    public Station selectStationById(Long stationId);

    List<Station> getStationByEnterpriseId(@Param("enterpriseId") Long enterpriseId);

    Station selectStationByName(String stationName);
    /**
     * 查询油站信息列表
     *
     * @param station 油站信息
     * @return 油站信息集合
     */
    public List<Station> transactionStationList( Station station);
    /**
     * 查询油站信息列表
     * 
     * @param station 油站信息
     * @return 油站信息集合
     */
    public List<Station> selectStationList( Station station);

    /**
     * 新增油站信息
     *
     * @param station 油站信息
     * @return 结果
     */
    public int insertStation(Station station);

    /**
     * 修改油站信息
     * 
     * @param station 油企信息
     * @return 结果
     */
    public int updateStation(Station station);

    /**
     * 删除油站信息
     * 
     * @param stationId 油企信息ID
     * @return 结果
     */
    public int deleteStationById(Long stationId);

    /**
     * 批量删除油站信息
     * 
     * @param stationIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteStationByIds(Long[] stationIds);


    void updateStationSettleInfo(AddStationSettleInfoDto addStationSettleInfoDto);

    AddStationSettleInfoDto getStationSettleInfo(Long stationIdLong);

    public int setShowCommisson(Station station);

    public int setOpenStaffClass(Station station);

    public int setShowPaymentCommission(Station station);

    public int setShowPayWayIds(Station station);
    /**
     * 通过油企idlist 获取 油站信息
     */
    List<Long> selectStationListByEnterpriseIds(@Param(value = "enterpriseIds") List<Long> enterpriseIds);

    List<Long> getStationIdList(Station station);

    List<Station> selectStationListByEnterpriseId(@Param("enterpriseId") Long enterpriseId);
}
